home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / PCSSP.LZH / PC-SSP.ZIP / STATFCTR.ZIP / TRACE.FOR < prev    next >
Text File  |  1985-11-29  |  3KB  |  85 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE TRACE
  5. C
  6. C        PURPOSE
  7. C           COMPUTE CUMULATIVE PERCENTAGE OF EIGENVALUES GREATER THAN
  8. C           OR EQUAL TO A CONSTANT SPECIFIED BY THE USER.  THIS SUB-
  9. C           ROUTINE NORMALLY OCCURS IN A SEQUENCE OF CALLS TO SUB-
  10. C           ROUTINES CORRE, EIGEN, TRACE, LOAD, AND VARMX IN THE PER-
  11. C           FORMANCE OF A FACTOR ANALYSIS.
  12. C
  13. C        USAGE
  14. C           CALL TRACE (M,R,CON,K,D)
  15. C
  16. C        DESCRIPTION OF PARAMETERS
  17. C           M     - NUMBER OF VARIABLES. M MUST BE > OR = TO 1
  18. C           R     - INPUT MATRIX (SYMMETRIC AND STORED IN COMPRESSED
  19. C                   FORM WITH ONLY UPPER TRIANGLE BY COLUMN IN CORE)
  20. C                   CONTAINING EIGENVALUES IN DIAGONAL.  EIGENVALUES ARE
  21. C                   ARRANGED IN DESCENDING ORDER.  THE ORDER OF MATRIX R
  22. C                   IS M BY M.  ONLY M*(M+1)/2 ELEMENTS ARE IN STORAGE.
  23. C                   (STORAGE MODE OF 1)
  24. C           CON   - A CONSTANT USED TO DECIDE HOW MANY EIGENVALUES TO
  25. C                   RETAIN.  CUMULATIVE PERCENTAGE OF EIGENVALUES
  26. C                   WHICH ARE GREATER THAN OR EQUAL TO THIS VALUE IS
  27. C                   CALCULATED.
  28. C           K     - OUTPUT VARIABLE CONTAINING THE NUMBER OF EIGENVALUES
  29. C                   GREATER THAN OR EQUAL TO CON.  (K IS THE NUMBER OF
  30. C                   FACTORS.)
  31. C           D     - OUTPUT VECTOR OF LENGTH M CONTAINING CUMULATIVE
  32. C                   PERCENTAGE OF EIGENVALUES WHICH ARE GREATER THAN
  33. C                   OR EQUAL TO CON.
  34. C        REMARKS
  35. C           NONE
  36. C
  37. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  38. C           NONE
  39. C
  40. C        METHOD
  41. C           EACH EIGENVALUE GREATER THAN OR EQUAL TO CON IS DIVIDED BY M
  42. C           AND THE RESULT IS ADDED TO THE PREVIOUS TOTAL TO OBTAIN
  43. C           THE CUMULATIVE PERCENTAGE FOR EACH EIGENVALUE.
  44. C
  45. C     ..................................................................
  46. C
  47.       SUBROUTINE TRACE (M,R,CON,K,D)
  48.       DIMENSION R(1),D(1)
  49. C
  50. C        ...............................................................
  51. C
  52. C        IF A DOUBLE PRECISION VERSION OF THIS ROUTINE IS DESIRED, THE
  53. C        C IN COLUMN 1 SHOULD BE REMOVED FROM THE DOUBLE PRECISION
  54. C        STATEMENT WHICH FOLLOWS.
  55. C
  56. C     DOUBLE PRECISION R,D
  57. C
  58. C        THE C MUST ALSO BE REMOVED FROM DOUBLE PRECISION STATEMENTS
  59. C        APPEARING IN OTHER ROUTINES USED IN CONJUNCTION WITH THIS
  60. C        ROUTINE.
  61. C
  62. C        ...............................................................
  63. C
  64.       FM=M
  65.       L=0
  66.       DO 100 I=1,M
  67.       L=L+I
  68.   100 D(I)=R(L)
  69.       K=0
  70. C
  71. C     TEST WHETHER I-TH EIGENVALUE IS GREATER
  72. C     THAN OR EQUAL TO THE CONSTANT
  73. C
  74.       DO 110 I=1,M
  75.       IF(D(I)-CON) 120, 105, 105
  76.   105 K=K+1
  77.   110 D(I)=D(I)/FM
  78. C
  79. C     COMPUTE CUMULATIVE PERCENTAGE OF EIGENVALUES
  80. C
  81.   120 DO 130 I=2,K
  82.   130 D(I)=D(I)+D(I-1)
  83.       RETURN
  84.       END
  85.